package com.cuixichang.minimalism.transfer.factory;

import com.cuixichang.minimalism.transfer.dto.IFormPlugDTO;
import com.cuixichang.minimalism.transfer.page.IFormPlugPageRequest;
import com.cuixichang.minimalism.transfer.page.IFormPlugRequest;
import com.cuixichang.minimalism.transfer.vo.IFormPlugVO;
import com.cuixichang.minimalism.transfer.po.IFormPlug;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 对象适配器
 *
 * @author cuixichang
 * @date 2024-12-18
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface IFormPlugAssembler {

    IFormPlugAssembler INSTANCT = Mappers.getMapper(IFormPlugAssembler.class);

    IFormPlugDTO convertDto(IFormPlugRequest request);

    IFormPlugDTO convertDto(IFormPlugPageRequest request);

    IFormPlug convertPo(IFormPlugDTO dto);

    IFormPlugDTO convertDto(IFormPlug po);

    IFormPlugVO convertVo(IFormPlugDTO dto);
}